/**
 * 待办事项模块API
 */
import { get, post, put, del } from '../request'

// API前缀
const API_PREFIX = '/api/todo'

/**
 * 获取待办事项列表
 * @param {Object} params 查询参数
 * @returns {Promise} 请求Promise
 */
export function getTodoList(params) {
  return get(`${API_PREFIX}/list`, params)
}

/**
 * 获取待办事项详情
 * @param {string} id 待办事项ID
 * @returns {Promise} 请求Promise
 */
export function getTodoDetail(id) {
  return get(`${API_PREFIX}/detail/${id}`)
}

/**
 * 更新待办事项状态
 * @param {string} id 待办事项ID
 * @param {Object} data 状态更新数据
 * @returns {Promise} 请求Promise
 */
export function updateTodoStatus(id, data) {
  return put(`${API_PREFIX}/status/${id}`, data)
}

/**
 * 批准待办事项
 * @param {string} id 待办事项ID
 * @param {Object} data 批准数据
 * @returns {Promise} 请求Promise
 */
export function approveTodo(id, data) {
  return post(`${API_PREFIX}/approve/${id}`, data)
}

/**
 * 拒绝待办事项
 * @param {string} id 待办事项ID
 * @param {Object} data 拒绝数据
 * @returns {Promise} 请求Promise
 */
export function rejectTodo(id, data) {
  return post(`${API_PREFIX}/reject/${id}`, data)
}

/**
 * 获取待办事项统计
 * @returns {Promise} 请求Promise
 */
export function getTodoStats() {
  return get(`${API_PREFIX}/stats`)
}

/**
 * 获取待办事项历史
 * @param {Object} params 查询参数
 * @returns {Promise} 请求Promise
 */
export function getTodoHistory(params) {
  return get(`${API_PREFIX}/history`, params)
}

/**
 * 标记待办事项为已读
 * @param {string} id 待办事项ID
 * @returns {Promise} 请求Promise
 */
export function markTodoAsRead(id) {
  return put(`${API_PREFIX}/read/${id}`)
}

/**
 * 删除待办事项
 * @param {string} id 待办事项ID
 * @returns {Promise} 请求Promise
 */
export function deleteTodo(id) {
  return del(`${API_PREFIX}/${id}`)
}

export default {
  getTodoList,
  getTodoDetail,
  updateTodoStatus,
  approveTodo,
  rejectTodo,
  getTodoStats,
  getTodoHistory,
  markTodoAsRead,
  deleteTodo
} 